<?php

require_once 'PHPUnit/Framework.php';
//require_once 'PHPUnit/Framework/IncompleteTestError.php';
//require_once 'PHPUnit/Framework/TestCase.php';
//require_once 'PHPUnit/Framework/TestSuite.php';
//require_once 'PHPUnit/Runner/Version.php';
//require_once 'PHPUnit/TextUI/TestRunner.php';
//require_once 'PHPUnit/Util/Filter.php';

/*
 * Set error reporting to the level to which Apex Framework code must comply.
 */
error_reporting( E_ALL | E_STRICT );

/*
 * Determine the root, library, and tests directories of the framework
 * distribution.
 */
$afRoot        = dirname(dirname(__FILE__));
$afCoreLibrary = $afRoot . DIRECTORY_SEPARATOR;
$afCoreTests   = $afRoot . DIRECTORY_SEPARATOR . 'tests';

/*
 * Prepend the Zend Framework library/ and tests/ directories to the
 * include_path. This allows the tests to run out of the box and helps prevent
 * loading other copies of the framework code and tests that would supersede
 * this copy.
 */
$path = array(
    $afCoreLibrary,
    $afCoreTests,
    get_include_path()
    );
set_include_path(implode(PATH_SEPARATOR, $path));

/*
 * Load the user-defined test configuration file, if it exists; otherwise, load
 * the default configuration.
 */
 
if (is_readable($afCoreTests . DIRECTORY_SEPARATOR . 'TestConfiguration.php')) {
    require_once $afCoreTests . DIRECTORY_SEPARATOR . 'TestConfiguration.php';
} else {
    require_once $afCoreTests . DIRECTORY_SEPARATOR . 'TestConfiguration.php.dist';
}


/*
 * Add Zend Framework library/ directory to the PHPUnit code coverage
 * whitelist. This has the effect that only production code source files appear
 * in the code coverage report and that all production code source files, even
 * those that are not covered by a test yet, are processed.
 */
/*
if (defined('TESTS_GENERATE_REPORT') && TESTS_GENERATE_REPORT === true &&
    version_compare(PHPUnit_Runner_Version::id(), '3.1.6', '>=')) {
    PHPUnit_Util_Filter::addDirectoryToWhitelist($zfCoreLibrary);
}
*/
/*
 * Unset global variables that are no longer needed.
 */
unset($afRoot, $afCoreLibrary, $afCoreTests, $path);